package com.hiultra.archive.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.hiultra.common.annotation.Excel;
import com.hiultra.common.core.domain.BaseEntity;

/**
 * 档案室环境预警信息对象 archive_room_alarm
 *
 * @author paidaxing
 * @date 2024-07-29
 */
public class ArchiveRoomAlarm extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    public static final String ALARM_SMOKE = "1";
    public static final String ALARM_WATER_IMMERSION = "2";
    public static final String ALARM_INFRARED = "3";
    public static final String ALARM_TEMPERATURE_HIGH = "4";
    public static final String ALARM_TEMPERATURE_LOW = "5";
    public static final String ALARM_HUMIDITY_HIGH = "6";
    public static final String ALARM_HUMIDITY_LOW = "7";
    public static final String ALARM_TVOC_HIGH = "8";
    public static final String ALARM_PM25_HIGH = "9";
    public static final String ALARM_PM10_HIGH = "10";
    public static final String ALARM_CO2_HIGH = "11";
    public static final String ALARM_FORMALDEHYDE_HIGH = "12";
    // 1.一级 2二级 3三级
    public static final String LEVEL_LOW = "1";
    public static final String LEVEL_NORMAL = "2";
    public static final String LEVEL_HIGH = "3";

    /** 序号 */
    private Long id;

    /** 供电单位编号 */
    private String orgNo;

    /** 档案室编号 */
    private String roomNo;

    /** 库房信息 */
    private String houseNo;

    /** 档案区信息 */
    @Excel(name = "档案区信息")
    private String archAreaNo;

    /** 告警类型1烟雾2水浸3有人员出入4.高温报警5.低温报警6.湿度过高报警7.湿度过低报警8.TVOC浓度过高报警9.PM 2.5过高报警10.PM 10过高报警11.CO2浓度过高报警12.甲醛浓度过高报警 */
    @Excel(name = "告警类型1烟雾2水浸3有人员出入4.高温报警5.低温报警6.湿度过高报警7.湿度过低报警8.TVOC浓度过高报警9.PM 2.5过高报警10.PM 10过高报警11.CO2浓度过高报警12.甲醛浓度过高报警")
    private String alarmType;

    /** 告警级别1.一级 2二级 3三级 */
    @Excel(name = "告警级别1.一级 2二级 3三级")
    private String alarmLevel;

    /** 告警值 */
    @Excel(name = "告警值")
    private String alarmThreshold;

    /** 告警时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "告警时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date alarmTime;

    /** 推送状态01已推送02未推送 */
    @Excel(name = "推送状态01已推送02未推送")
    private String pushStatus;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setOrgNo(String orgNo)
    {
        this.orgNo = orgNo;
    }

    public String getOrgNo()
    {
        return orgNo;
    }
    public void setRoomNo(String roomNo)
    {
        this.roomNo = roomNo;
    }

    public String getRoomNo()
    {
        return roomNo;
    }
    public void setHouseNo(String houseNo)
    {
        this.houseNo = houseNo;
    }

    public String getHouseNo()
    {
        return houseNo;
    }
    public void setArchAreaNo(String archAreaNo)
    {
        this.archAreaNo = archAreaNo;
    }

    public String getArchAreaNo()
    {
        return archAreaNo;
    }
    public void setAlarmType(String alarmType)
    {
        this.alarmType = alarmType;
    }

    public String getAlarmType()
    {
        return alarmType;
    }
    public void setAlarmLevel(String alarmLevel)
    {
        this.alarmLevel = alarmLevel;
    }

    public String getAlarmLevel()
    {
        return alarmLevel;
    }
    public void setAlarmThreshold(String alarmThreshold)
    {
        this.alarmThreshold = alarmThreshold;
    }

    public String getAlarmThreshold()
    {
        return alarmThreshold;
    }
    public void setAlarmTime(Date alarmTime)
    {
        this.alarmTime = alarmTime;
    }

    public Date getAlarmTime()
    {
        return alarmTime;
    }
    public void setPushStatus(String pushStatus)
    {
        this.pushStatus = pushStatus;
    }

    public String getPushStatus()
    {
        return pushStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orgNo", getOrgNo())
            .append("roomNo", getRoomNo())
            .append("houseNo", getHouseNo())
            .append("archAreaNo", getArchAreaNo())
            .append("alarmType", getAlarmType())
            .append("alarmLevel", getAlarmLevel())
            .append("alarmThreshold", getAlarmThreshold())
            .append("alarmTime", getAlarmTime())
            .append("pushStatus", getPushStatus())
            .toString();
    }
}
